package com.tianji.aigc.memory;
import lombok.Data;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.messages.ToolResponseMessage;
import org.springframework.ai.model.Media;
import java.util.List;
import java.util.Map;

@Data
public class RedisMessage {

    // 消息类型标识符，用于区分不同类型的消息
    private String messageType;
    
    // 消息元数据，存储键值对形式的附加信息，默认为空Map
    private Map<String, Object> metadata = Map.of();
    
    // 媒体文件列表，存储消息关联的媒体内容，默认为空List
    private List<Media> media = List.of();
    
    // 工具调用列表，存储AI助手需要调用的工具信息，默认为空List
    private List<AssistantMessage.ToolCall> toolCalls = List.of();
    
    // 消息文本内容，存储主要的文本信息
    private String textContent;
    
    // 工具响应列表，存储工具执行后的响应结果，默认为空List
    private List<ToolResponseMessage.ToolResponse> toolResponses = List.of();
    
    // 参数映射表，存储额外的参数信息，默认为空Map
    private Map<String, Object> params = Map.of();

}